1359C - Mixing Water - CodeForces Solution


binary search math *1700

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
#define ll long long int
#define forl(n) for (int i = 0; i < n; i++)
#define fora(i, a, b) for (int i = a; i < b; i++)
using namespace std;

void parray(ll a[], ll n)
{
	for (int i = 0; i < n; i++)
	{
		cout << a[i] << " ";
	}
	cout << endl;
}

ll prime(int n)
{
	int i;
	for (i = 2; i <= sqrt(n); i++)
	{
		if (n % i != 0)
			continue;
		else
			return 1;
	}
	return 0;
}

ll maxsubarray(int a[], int n)
{
	ll max_so_far = LONG_MIN, max = 0;

	for (int i = 0; i < n; i++)
	{
		max = max + a[i];
		if (max_so_far < max)
			max_so_far = max;

		if (max < 0)
			max = 0;
	}
	return max_so_far;
}

bool compare(vector<int> &a,vector<int> &b)
{
	return a.size()>b.size();
}

ll getSum(ll n)
{
	ll sum = 0;
	while (n != 0) {
		sum = sum + n % 10;
		n = n / 10;
	}
	return sum;
}

int main()
{


	int t1;
	cin >> t1;

	while (t1--)
	{
		// cout<<"TEST:"<<t<<endl;
		long double h,c,t;
		cin>>h>>c>>t;

		long double temp=(h+c)/2;
		
			long double i;
			i=(t-c)/(2*t-h-c);
			ll i1=((ll)i);
			if(i1<=0){
				cout<<2<<endl;
				continue;
			}
			long double ans1=abs(t-((h*i1+c*(i1-1))/(2*i1-1)));
			long double ans2=abs(t-((h*(i1+1)+c*(i1))/(2*i1+1)));
			long double mini=min(ans1,ans2);
			if(mini==ans1)
			{
				cout<<2*i1-1<<endl;
			}
			else
			{
				cout<<2*i1+1<<endl;
			}

	}
}

 			 	  		 		 		 		     	 	 	


Comments

Submit
0 Comments
More Questions

1038B - Non-Coprime Partition
43A - Football
50A - Domino piling
479A - Expression
1480A - Yet Another String Game
1216C - White Sheet
1648A - Weird Sum
427A - Police Recruits
535A - Tavas and Nafas
581A - Vasya the Hipster
1537B - Bad Boy
1406B - Maximum Product
507B - Amr and Pins
379A - New Year Candles
1154A - Restoring Three Numbers
750A - New Year and Hurry
705A - Hulk
492B - Vanya and Lanterns
1374C - Move Brackets
1476A - K-divisible Sum
1333A - Little Artem
432D - Prefixes and Suffixes
486A - Calculating Function
1373B - 01 Game
1187A - Stickers and Toys
313B - Ilya and Queries
579A - Raising Bacteria
723A - The New Year Meeting Friends
302A - Eugeny and Array
1638B - Odd Swap Sort